1. Field of the Invention
The invention relates generally to tape magnetic recording, and more particularly to optimizing tape velocity changes in response to presented host data rates.
2. Background Art
Data buffers are used to assist streaming of write data from a host or streaming read data out to a host. A buffer enables storage of data to or from data compressors to compensate for mismatches in the front end versus back end data rates and intermittency in data flow. This is needed because the host can present a variety of data rates and compressions while the drive can function at just one or a few single rates.
Current magnetic tape storage devices include flexible magnetic tape moving from one tape spool to another while a read/write (R/W) head(s) reads or writes data from or onto the tape. Ideally, the host and drive perform streaming R/W with few interruptions. However, there are many circumstances where the drive has to stop. Examples include: defects on tape result in errors that require retrying reading or writing at some tape location, servo tracking becomes deficient and also requires read or write retries, data buffer becomes empty of write data, or the buffer becomes full of read data.
Stopping and restarting the tape in the drive from some given position on tape is accomplished by decelerating the tape velocity to zero at some forward position and then backwards to negative velocities with respect to the recording head. There may also be a settling time for ensuring precise tape velocity and acquisition of the proper data track by the head positioning servo system. Then the tape is accelerated until it again stops to zero velocity at some position behind the original given position. This is called the reposition point. In some cases, the tape may sit motionless at that position until given the signal to again accelerate forward to the starting point. This whole sequence is called a backhitch or football. FIG. 1 illustrates a conventional backhitch. One reason for the name football is the shape of the sequence in phase space—velocity plotted against position. Depending on how the axes are stretched or expanded, the phase plot resembles a football either lying on its side or vertically.
Modern data tape drives tend to move tape at increasingly higher velocities and higher data rates. This has competitive advantage when the host presents or requests data at high data rates. Depending on block or record size, data compressibility, interface data rate, contention, or host limitations, the data rate to or from the host may be arbitrarily lower than maximum. In response to this, in some data transfer scenarios, there is an advantage to selectively changing the velocity at which tape moves.
A performance advantage may exist when data buffer size is large enough so as to prevent the filling of the buffer during a football or backhitch. For a given reel drive-motor providing tape acceleration a (m/s/s), football motion time, f (s), may increase with tape velocity, v (for example, f=4v/a). Ideally, a data buffer of size B (MB) should be approximately large enough so that B>B_critical=Df where D is the native 1:1 drive rate in megabytes per second. At high velocities of tape movement, new large buffers may be too expensive so that this condition is not satisfied. Then moving to a lower drive rate will make the condition true. For example, if D=kv where k is some constant, thenB_critical=Df=(kv)(4v/a)=(4k/a)v2 And B_critical<B will certainly be true at some lower velocity, v. Also, if B<Df, then host disconnect time may be required during the completion of a football. Whenever the drive is disconnected due to a football and the host is also disconnected (due to buffer-full on writes or buffer-empty on reads), then these disconnects represent wasted time that results in reduced net average host throughput, that is, lost performance. Sometimes, a portion of that lost performance can be regained by moving to a slower velocity where football time is lower.
Even when buffers are large and well managed, a mismatch between data rate to or from the host and the data rate of the drive can cause a large number of footballs that progressively increase with the mismatch. With changing velocities, changing accelerations, and perhaps changing tape tensions, high backhitch counts may strain the drive and tape and affect either drive or tape durability. High counts are undesirable. In some cases, fairly large buffers minimize performance impact, and backhitch counts become the dominant reason for performing tape velocity changes.
An example of football counts is given by the formula, N=capacity (D-c)/BD, where B=buffer size for compressed data, D=drive rate, c=compressed data rate between the compressors and data buffer, and capacity could be total drive capacity or some other reference capacity (such as data transferred to tape during an end to end tape motion). This formula assumes that the buffer is being filled with write data up to size B and that the drive rate is larger than the compressed data rate. N is proportional to the difference (mismatch) between D and c.
If a buffer is not managed well so that write filling only occurs during a football time, then many more footballs may exist. At low data rates, c<<D, these counts can become huge and point to the need to fill the buffer as full as possible.
If the compressed data rate is falling from a high value near drive rate, football counts will rise to high counts. If another lower tape velocity is available, then the tape velocity should be dropped so that the value of the mismatch (D_low−c) is a smaller value than (D_high−c). This resets the football count to a low value.
Ideally, continuous drive rate changes always enable a match between D and c so that performance is high and football counts are low. Often, however, only a few select drive rates may exist. Further, the act of changing from one velocity to another could impact performance.
Additional background information may be found in U.S. Pat. No. 4,176,380.
For the foregoing reasons, there is a need to minimize the duration from one tape velocity to another when attempting to better match the data rate demands of the host.